#ifndef __OLED_H
#define __OLED_H 

#include "gd32e10x_libopt.h"

#define OLED_SCL_Clr() gpio_bit_reset(GPIOB,GPIO_PIN_6)//SCL GPIO_PIN_0
#define OLED_SCL_Set() gpio_bit_set(GPIOB,GPIO_PIN_6)

#define OLED_SDA_Clr() gpio_bit_reset(GPIOB,GPIO_PIN_7)//SDA
#define OLED_SDA_Set() gpio_bit_set(GPIOB,GPIO_PIN_7)

#define OLED_RES_Clr()  gpio_bit_reset(GPIOB,GPIO_PIN_3)//RES
#define OLED_RES_Set()  gpio_bit_set(GPIOB,GPIO_PIN_3)

#define OLED_DC_Clr()  gpio_bit_reset(GPIOB,GPIO_PIN_4)//DC
#define OLED_DC_Set()  gpio_bit_set(GPIOB,GPIO_PIN_4)
 		     
#define OLED_CS_Clr()  gpio_bit_reset(GPIOB,GPIO_PIN_5)//CS1
#define OLED_CS_Set()  gpio_bit_set(GPIOB,GPIO_PIN_5)
 		     
#define OLED_READ_FS0()    gpio_input_bit_get(GPIOB,GPIO_PIN_5)//FS0

#define OLED_CMD  0	
#define OLED_DATA 1	

void I2cInit(void);
void WriteCmd(uint8_t num);
void WriteData(uint8_t num);
void OledSetPos(uint8_t x, uint8_t y);
void OledDisplayOn(void);
void OledDisplayOff(void);
void OledClear(void);
void OledShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size);
void OledShowString(uint8_t x,uint8_t y,char *str,uint8_t Char_Size);
void OledShowCN(uint8_t x,uint8_t y,uint8_t index);
void OledInit(void);
void OledDisplayTest(void);
void OledShow(void);
void OledShowData(uint8_t x, uint8_t y, uint8_t data);

#endif

